﻿<!DOCTYPE html>

<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8" />
    <title></title>
</head>
<body>
    <script>
        console.log(num); //num is not defind

        console.log(num1); //undefined
        var num1 = 10;

        function fn() {
            console.log(11);
        }
        fn();

        skill();

        var skill = function () {
            console.log(22);
        }
        /*
         js 执行引擎运行代码分两步 先预算 在执行代码
            预解析 遇到 var function 关键字的生命 先把声明提升到当前域的最前面
            与解析分为变量解析 和函数解析
              变量提升 遇到var 声明的变量 先把声明提升到当前域的最前面 而不提升赋值
              函数变量 提升 function声明的函数 把声明提升到当前域的最前面 而不调用

         */
    </script>
</body>
</html>